package org.lanqiao.tjut.MyTags;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

public class MyT extends TagSupport{

	/*
	 * 该属性的名字和标签定义文件中定义的属性名保持一致，
	 * 并且为其提供getter/setter接口，可将标签中给定的属性值，直接赋值给该变量
	 * 
	 * 该变量提供了getter/setter方法接口--就可以接收标签的属性值。
	 * 完成了从前台页面传值到后台服务器程序中。
	 * 
	 * */
	private String value;
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public int doEndTag() throws JspException {
		//
		try {
			Object obj = this.getValue();
			String strVal = obj == null?"":obj.toString();
			System.out.println("属性value的值为："+strVal);
			//将获取到的内容写出到web页面 -- 使用jsp的内置 out对象 写出
			this.pageContext.getOut().write(strVal);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*
		 *  标签的后续处理动作应该进行怎样处理有返回值决定
		 *  
		 *  返回值：
		 *  SKIP_BODY -- 表示跳过标签体继续执行；
		 *  EVAL_BODY_INCLUDE：表示标签之间的内容被正常执行
		 *  SKIP_PAGE：表示立刻停止执行网页， 网页上未处理的静态内容和JSP程序均被忽略任，
		 *  何已有的输出内容立刻返回到客户的浏览器上。 
		 *  EVAL_PAGE：表示按照正常的流程继续执行JSP网页 
		 *  
		 *  
		 */
		return this.EVAL_BODY_INCLUDE;
	}

	@Override
	public int doStartTag() throws JspException {
		// 
		return super.doStartTag();
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	
}
